package com.zcsy.manage.distribution.service.system;


import java.util.List;
import java.util.Map;

import com.zcsy.manage.model.system.User;

/**
 * 
 * @Title:IDUserService
 * @Package：  com.zcsy.manage.distribution.service.system
 * @Description:用户服务类接口 
 * @author wangj
 * @date 2016年6月17日上午11:07:17
 * @version 1.0
 * @see JDK1.7.0_67
 * @Copyright: 2016 武汉恒数利通技术有限公司 All rights reserved.
 */
public interface IDUserService {
	
	/**
	 * 
	* @Title: boundPhone 
	* @Description: 绑定手机 
	* @param phone 手机号
	* @param loginname 登录名
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月15日 
	* @throws
	 */
	int boundPhone(String phone, String loginname);
	
	/**
	 * 
	* @Title: selectLoginNameByRole 
	* @Description: 通过角色查询登录名 
	* @param list 角色集合
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月13日 
	* @throws
	 */
	List<String> selectLoginNameByRole(List<String> list);
	
   /**
	* @Title: selectLoginNameByPhone 
	* @Description: 手机号查询登录名 
	* @param phone 手机号
	* @return String
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月12日 
	* @throws
	 */
	String selectLoginNameByPhone(String phone);
	
	/**
	 * 
	* @Title: selectRoleMenu 
	* @Description: 权限查询 
	* @param roleid 角色id
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月8日 
	* @throws
	 */
	List<String> selectRoleMenu(String roleid);
	
	/**
	 * 
	* @Title: forgetPass 
	* @Description: 忘记密码 
	* @param pwd 密码
	* @param loginname 登录名
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月8日 
	* @throws
	 */
	int forgetPass(String pwd , String loginname);
	
	/**
	 * 
	* @Title: selectByrole 
	* @Description: 小区id查询角色
	* @param list 
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月7日 
	* @throws
	 */
	List<Map<String, Object>> selectByrole(List<String> maps);
	
	/**
	 * 
	* @Title: updateInformation 
	* @Description: 修改用户信息 
	* @param user
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年5月31日 
	* @throws
	 */
	int updateInformation(User user);
	
	/**
	 * 
	* @Title: userLogin 
	* @Description: 更新用户信息 
	* @param user 用户对象
	* @return User
	* @author wangj 1157360454@qq.com   
	* @date 2016年5月31日 
	* @throws
	 */
	public User userLogin(User user);
	
    /**
     * 
    * @Title: changePwd 
    * @Description: 修改密码 
    * @param pwd 密码
    * @param phone 手机号
    * @return 
    * @author wangj 1157360454@qq.com   
    * @date 2016年5月31日 
    * @throws
     */
	int changePwd(User user);
	
	/**
	 * 
	* @Title: selectByPrimaryKey 
	* @Description: 主键查询用户 
	* @param id
	* @return 
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月1日 
	* @throws
	 */
	User selectByPrimaryKey(String id);
	
	/**
	 * 
	* @Title: selectByLoginName 
	* @Description: 登录名查询用户 
	* @param name 登录名
	* @return User
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月1日 
	* @throws
	 */
	User selectByLoginName(String name );
	
	/**
	 * 
	* @Title: selectByPhone 
	* @Description: 手机号查询用户 
	* @param phone 手机号
	* @return User
	* @author wangj 1157360454@qq.com   
	* @date 2016年6月1日 
	* @throws
	 */
	User selectByPhone(String phone);
	
	/**
	 * @Description 获取当前订单在当前小区可选择的派单员信息<br>
	 * 
	 * @param cellId 小区id
	 * @return 返回当前订单在当前小区可选择的派单员信息
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年6月20日
	 * @see 
	 */
	List<User> selectByCellId(String cellId);
	
	 /**
     * 根据关键字更新用户信息(字段可为空)
     * 
     * @param record
     *            用户信息
     * @return 更新结果
     */
    int updateByPrimaryKeySelective(User record);
}



    
   
    
  
    
    
   
